﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace NCS.IConnect.Core.WebApi.Description
{
    /// <summary>
    /// Initialize sample data for web API documentation generation.
    /// </summary>
    public interface ISampleRegister
    {
        /// <summary>
        /// Set sample data.
        /// </summary>
        /// <typeparam name="T">The type to which the data object is registered.</typeparam>
        /// <param name="data">The sample data object.</param>
        /// <param name="httpMethod">The HTTP method, like (GET, POST, PUT and DELETE etc.)</param>
        void SetSample<T>(T data, HttpMethod httpMethod = null);

        /// <summary>
        /// 
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="data"></param>
        /// <param name="controllerName"></param>
        /// <param name="actionName"></param>
        void SetSample<T>(T data, string controllerName, string actionName = null); 
    }
}
